package com.iwuke.dance.http_request;

import android.content.Context;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface NetRequest {

    void init(Context context);

    void doGet(String url, final IResponseListener iResponseListener);

    void doGet(String url, NetworkOption networkOption, final IResponseListener iResponseListener);


    void doGet(String url, final Map<String, String> paramsMap, final IResponseListener iResponseListener);

    void doGet(String url, final Map<String, String> paramsMap, NetworkOption networkOption, final IResponseListener iResponseListener);


    void doPost(String url, final Map<String, String> paramsMap, final IResponseListener iResponseListener);

    void doPost(String url, final Map<String, String> paramsMap, NetworkOption networkOption,
                final IResponseListener iResponseListener);

    void doPostFile(String url,String file, final Map<String, String> paramsMap, List<String> pathList, final IResponseListener iResponseListener);

    void doPostFile(String url,String file, final Map<String, String> paramsMap, List<String> pathList, NetworkOption networkOption,
                final IResponseListener iResponseListener);

    void doPostJson(String url, final Map<String,Object> map, final IResponseListener iResponseListener);

    void doPostJson(String url, Map<String,Object> map, NetworkOption networkOption,
                final IResponseListener iResponseListener);

    //专用
    void doPostJson2(String url, final String stringJson, final IResponseListener iResponseListener);
    //专用
    void doPostJson2(String url, String stringJson, NetworkOption networkOption,
                    final IResponseListener iResponseListener);

    void doPut(String url, final Map<String, String> paramsMap, final IResponseListener iResponseListener);

    void doPut(String url, final Map<String, String> paramsMap, NetworkOption networkOption,
                final IResponseListener iResponseListener);

    void doPutJson(String url, final Map<String, Object> paramsMap, final IResponseListener iResponseListener);

    void doPutJson(String url, final Map<String, Object> paramsMap, NetworkOption networkOption,
               final IResponseListener iResponseListener);

    void doPutForm(String url, ArrayList<String> pathList, final Map<String, String> paramsMap, final IResponseListener iResponseListener);

    void doPutForm(String url, ArrayList<String> pathList, final Map<String, String> paramsMap, NetworkOption networkOption,
               final IResponseListener iResponseListener);

    void doDelete(String url, final Map<String, String> paramsMap, final IResponseListener iResponseListener);

    void doDelete(String url, final Map<String, String> paramsMap, NetworkOption networkOption,
               final IResponseListener iResponseListener);

    void doDeleteJson(String url, final Map<String, Object> paramsMap, final IResponseListener iResponseListener);

    void doDeleteJson(String url, final Map<String, Object> paramsMap, NetworkOption networkOption,
                  final IResponseListener iResponseListener);

    void cancel(Object tag);



}

